package com.fooddiary.web.form;

import java.util.ArrayList;
import java.util.List;

/**
 * Form for holding all necessary weight dynamic information <br>
 * @author Created by andrey.kuznetsov <br>
 * @author Last modified by $Author$ <br>
 * @author Last modified on $Date$ at revision $Revision$ <br>
 */
public class WeightForm extends BaseForm{

	private List<String> errors = new ArrayList<String>();
	protected Integer modelId;

	private String date;
	private Double weight;
	private Boolean trenning;
	private Boolean fill;
	
	private Double dayDifference;
	private Double weekDifference;
	private Double monthDifference;

	private List<EatingForm> eatings;

	/**
	 * Returns unique id of model <br>
	 * @return {@link Integer}
	 */
	public Integer getModelId() {
		return modelId;
	}
	
	/**
	 * Sets unique id of model <br>
	 * @param p_modelId; {@link Integer}
	 */
	public void setModelId(Integer p_modelId) {
		modelId = p_modelId;
	}
	
	/**
	 * Returns date of weight measurement <br>
	 * @return {@link String};
	 */
	public String getDate() {
		return date;
	}

	/**
	 * Sets date of weight measurement <br>
	 * @param p_date - {@link String};
	 */
	public void setDate(String p_date) {
		date = p_date;
	}

	/**
	 * Returns current weight <br>
	 * @return {@link Double};
	 */
	public Double getWeight() {
		return weight;
	}

	/**
	 * Sets current weight <br>
	 * @param p_weight - {@link Double};
	 */
	public void setWeight(Double p_weight) {
		weight = p_weight;
	}

	/**
	 * Returns weight difference with previous day <br>
	 * @return {@link Double};
	 */
	public Double getDayDifference() {
		return dayDifference;
	}

	/**
	 * Sets weight difference with previous day
	 * @param p_dayDifference - {@link Double};
	 */
	public void setDayDifference(Double p_dayDifference) {
		dayDifference = p_dayDifference;
	}

	/**
	 * Returns weight difference with previous week <br>
	 * @return {@link Double};
	 */
	public Double getWeekDifference() {
		return weekDifference;
	}

	/**
	 * Sets weight difference with previous week <br>
	 * @param p_weekDifference - {@link Double};
	 */
	public void setWeekDifference(Double p_weekDifference) {
		weekDifference = p_weekDifference;
	}

	/**
	 * Returns weight difference with previous month <br>
	 * @return {@link Double};
	 */
	public Double getMonthDifference() {
		return monthDifference;
	}

	/**
	 * Sets weight difference with previous month <br>
	 * @param p_monthDifference - {@link Double};
	 */
	public void setMonthDifference(Double p_monthDifference) {
		monthDifference = p_monthDifference;
	}

	/**
	 * Returns trenning flag <br>
	 * @return {@link Boolean};
	 */
	public Boolean getTrenning() {
		return trenning;
	}

	/**
	 * Sets trenning flag <br>
	 * @param p_trenning - {@link Boolean};
	 */
	public void setTrenning(Boolean p_trenning) {
		trenning = p_trenning;
	}
	
	/**
	 * Returns list of eating forms <br>
	 * @return {@link List<EatingForm>};
	 */
	public List<EatingForm> getEatings() {
		return eatings;
	}

	/**
	 * Sets list of eating forms <br>
	 * @param p_eatings - {@link List<EatingForm>};
	 */
	public void setEatings(List<EatingForm> p_eatings) {
		eatings = p_eatings;
	}
	
	/**
	 * Returns errors <br>
	 * @return {@link List<String>};
	 */
	public List<String> getErrors() {
		return errors;
	}

	/**
	 * Sets errors <br>
	 * @param p_errors - {@link List<String>};
	 */
	public void setErrors(List<String> p_errors) {
		errors = p_errors;
	}

	/**
	 * Returns fill flag <br>
	 * @return {@link Boolean};
	 */
	public Boolean getFill() {
		return fill;
	}

	/**
	 * Sets fill flag <br>
	 * @param p_fill - {@link Boolean};
	 */
	public void setFill(Boolean p_fill) {
		fill = p_fill;
	}
	
	
}
